The term virtual environment refers to a computer-generate environment that generally behaves in ways that follow a user's expectations for a real-world environment. One or more computing devices that are used to produce the virtual environment can be termed a virtual reality system, and the creation of the virtual environment by the virtual reality system can be termed rendering the virtual environment. A virtual environment may include an avatar, which is in this context is an entity belonging to the virtual environment that has a point of perception in the virtual environment. The virtual reality system may render the virtual environment for the avatar as perceived from the avatar's point of perception. A user of a virtual environment system may be associated with a particular avatar in the virtual environment.
In many virtual environments, a user who is associated with an avatar can interact with the virtual environment via the avatar. Depending upon implementation, a user may not only be able perceive the virtual environment from the avatar's point of perception, but may also be able to change the avatar's point of perception in the virtual environment and otherwise change the relationship between the avatar and the virtual environment or change the virtual environment itself.
With the advent of high-performance personal computers and high-speed networking, virtual environments—and in particular multi-avatar interactive virtual environments in which avatars for many users are interacting with the virtual environment at the same time—have moved from engineering laboratories and specialized application areas into widespread use. Examples of such multi-avatar virtual environments include environments with substantial graphical and visual content like those of massively-multiplayer on-line games (MMOGs), such as World of Warcraft™, and user-defined virtual environment environments, such as Second Life™. In such systems, each user of the virtual environment is represented by an avatar of the virtual environment, and each avatar has a point of perception in the virtual environment based on the avatar's virtual location and other aspects in the virtual environment. Users of the virtual environment control their avatars and interact within the virtual environment via client computers such as PC or workstation computers. The virtual environment is further implemented using server computers. Renderings for a user's avatar are produced on a user's client computer according to data sent from the server computers. Data is transmitted between the client computers and server computers of the virtual reality system over the network in data packets.
If the virtual environment is interactive, the appearance and actions of the avatar for a user are what other avatars in the virtual environment perceive (e.g., see and/or hear, etc.) as representing the user's appearance and action. There is no requirement for the avatar to appear or be perceived as resembling any particular entity, and an avatar for a user may intentionally appear quite different from the user's actual appearance, which is one of the appealing aspects to many users of interaction in a virtual environment in comparison to interactions in the “real world”.
Capabilities of existing virtual environments are often limited by processing resources, also referred to herein as computational resources. In other words, due to the extensive computational resources required to implement virtual environments, there is typically a limit to the scope of virtual environments. Additionally, latency associated with existing virtual environments typically provides for visual an audio experiences that are less realistic than desired.